#include <signal.h>
#include <iostream>
#include <sys/types.h>
#include <unistd.h>

// void handlerSig(int sig)
// {
//     std::cout << "Signal order: " << sig << " ,pid is: " << getpid() << std::endl;
//     // exit(13);
// }

// int main()
// {
//     while (true)
//     {
//         signal(SIGABRT, handlerSig);
//         abort();
//         sleep(1);
//     }

//     return 0;
// }

int main()
{
    // for (int i = 1; i < 32; i++)
    // {
    //     // sleep(1);
    //     if (i == 9 || i == 19)
    //         continue;
    //     signal(i,handlerSig);   //向所有循环中的信号注册方法
    //     raise(i);   //向该进程发送信号
    // }

    // int cnt = 0;
    // 测试硬件异常情况
    // while (true)
    // {
    //     std::cout << "hello world, " << cnt++ << " ,pid: " << getpid() << std::endl;
    //     sleep(1);
    int a = 10;
    a /= 0; // 除0错误
    //     int *p = nullptr;
    //     *p = 100; // 野指针s
    //     // abort();
    // }

    return 0;
}
